Inno Setup - jazyky v instalaci

Otázka od: Jiri Cincura

11. 9. 2004 8:33

Ahoj,
  mam takovyto ISS skript (vytah), ale potreboval bych, aby texty jako
"Odinstalovat ID3 renamer", "Spustit ID3 renamer" byly lokalizovany podle
vybraneho jazyka. Vedel by nekdo jak na to? V napovede jsem nasel jen
lokalizaci instalacnich casti.  

Diky za pomoc.


[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "cz"; MessagesFile: "compiler:Czech.isl"

[Icons]
Name: "{group}\Odinstalovat ID3 renamer"; Filename: "{uninstallexe}"

[Run]
Filename: "{app}\renamer.exe"; Description: "Spustit ID3 renamer"; Flags:
nowait postinstall skipifsilent

--
Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
ICQ: 314711544
web: http://www.cincura.net; http://photo.cincura.net



Odpovedá: Petr Fejfar

11. 9. 2004 11:48

Jiri Cincura wrote:

> podle vybraneho jazyka. Vedel by nekdo jak na to? V napovede jsem
> nasel jen lokalizaci instalacnich casti.  

Pro texty zpracovavane v run-time pouzij scripted constants, pro texty
zpracovavane
v compile-time musis mit verzi min. 4.2.1 a pouzit custom messages.

Priklad pouziti scripted constants:

[Icons]
Name:
"{group}\{code:SC_UninstallID3|Odinstalovat ID3 renamer}; ....
[Code]
function SC_UninstallD3(Default: String): String;
begin
  if ActiveLanguage='en' then
    Result := 'Uninstall ID3 renamer'
  else
    Result := Default;
end;
ev. to muzes udelat bez predavani default hodnoty v referenci {code:} a text
definovat pouze v tele volane funkce. Pak ten odkaz vypada
Name: "{group}\{code:SC_UninstallID3|};
....

HTH, pf


Odpovedá: Jiri Cincura

11. 9. 2004 12:15

Petr Fejfar wrote:
> v compile-time musis mit verzi min. 4.2.1 a pouzit custom messages.

A je nejaky zpusob (mam verzi 4.2.neco) jak to tam dostat, aniz bych musel
psat funkce. Chtel bych to pouzit i jinde, ale tam je tech stringu treba 20
a mit na to ty funkce nejni moc skvele.

--
Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
ICQ: 314711544
web: http://www.cincura.net; http://photo.cincura.net



Odpovedá: Petr Fejfar

11. 9. 2004 13:20

Jiri Cincura wrote:

> A je nejaky zpusob (mam verzi 4.2.neco) jak to tam dostat, aniz bych
> musel psat funkce. Chtel bych to pouzit i jinde, ale tam je tech
> stringu treba 20 a mit na to ty funkce nejni moc skvele.

Zalezi na tom, co presne chces: kazda polozka ve scriptu ma vlastnost
languages, takze se instaluje jen pri volbe daneho jazyka. Tento mechanismus
by sel samozrejme pouzit i na to, co potrebujes:

Name: "{group}\Odinstaluj ..."; Languages=cz
Name: "{group}\Uninstall ..."; Languages=en
...

ale to je na udrzbu daleko horsi nez scripted constants, protoze tam budes
mit vsechno N-krat.

pf






Odpovedá: Jiri Cincura

11. 9. 2004 19:26

Petr Fejfar wrote:
> ale to je na udrzbu daleko horsi nez scripted constants, protoze tam
> budes mit vsechno N-krat.
>
> pf

Aha. Tak to radeji pouziju prvni zpusob. Uz jen pro dobre navyky.  

I kdyz tohle vypada vic systemove.  

Diky.

--
Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
ICQ: 314711544
web: http://www.cincura.net; http://photo.cincura.net